-
Notifications
You must be signed in to change notification settings - Fork 411
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make performance of TPCH q15 stable (#4570) #4707
Make performance of TPCH q15 stable (#4570) #4707
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
Signed-off-by: xufei <[email protected]>
5a1c9ff
to
47925b5
Compare
Signed-off-by: xufei <[email protected]>
/merge |
@windtalker: It seems you want to merge this PR, I will help you trigger all the tests: /run-all-tests You only need to trigger If you have any questions about the PR merge process, please refer to pr process. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
@windtalker: In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
lines: 43.2% (49812 out of 115180) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/LGTM
/merge |
@windtalker: It seems you want to merge this PR, I will help you trigger all the tests: /run-all-tests You only need to trigger If you have any questions about the PR merge process, please refer to pr process. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
This pull request has been accepted and is ready to merge. Commit hash: e0d47bf
|
lines: 43.2% (49809 out of 115180) |
lines: 43.3% (49840 out of 115204) |
This is an automated cherry-pick of #4570
Signed-off-by: xufei [email protected]
What problem does this PR solve?
Issue Number: close #4451
Problem Summary:
What is changed and how it works?
Actually, there are 2 possible solutions
executeOnBlock
Aggregator::mergeAndConvertToBlocks
, check the result_size_bytes, and if it exceeds the threshold, convert all the hash table into two-level hash tableFor the first solution, converting hash table to two-level hash table can be done by each threads in the first stage of ParallelAggregating, and for the second solution, this converting things are executed in 1 threads.
I've done some test for both solutions, and found first solution has ~20% perfomance gain compared to the second solution for TPCH q15. So I choose the first solution.
Why not enable two-level hash table by default for all the cases:
Testing query:
select count(*),id from test group by id;
test
has 65536 rows, all rows have the sameid
, that is to say the above query return only 1 rowTesting cluster has only 1 TiFlash, and the cpu has 36 core, each query is running 1000 times.
Check List
Tests
Side effects
Documentation
Release note